這篇文章會說到JavaScript的運算式及運算子,今天先簡單介紹兩種:
在JavaScript中算術運算子也是我們所熟悉的四則運算(加、減、乘、除),算是非常單純的運算子
,在一些程式語言中也是非常常見的。
| + | 加法 | 
|---|---|
| - | 減法 | 
| * | 乘法 | 
| / | 除法 | 
| % | 餘數 | 
| ** | 指數 | 
| ++ | 將運算元加 1 | 
| -- | 將運算元減 1 | 
//以最基礎的四則運算做舉例
(1+99)/2 //50
上方舉例為數字加上數字,那如果數字加上字串,會有什麼結果呢?
1+"100" // 1100
當運算時發現其中一方為字串,將會進行「自動轉型」為字串後連接在一起
若遇到特殊數字時,會有什麼結果呢?
Infinity + Infinity //Infinity
-Infinity + -Infinity //-Infinity
-Infinity + Infinity //NaN
而在運算式中若其中一者為NaN,結果將會得到NaN
99+NaN // NaN
若運算式中遇到基本型別ex:布林、undefined、null時JavaScript將會將其轉為number,再進行運算
1+true // 2 運算中true被作為1
1+false // 1 運算中false被作為0
1+undefined // NaN 無法轉為數值
1+null // null為0
用以比較兩側的值,可比較純值、物件、運算式……等,比較後基於比較的結果回傳邏輯值true或false。
| < | 少於 | 
|---|---|
| > | 大於 | 
| <= | 小於等於 | 
| >= | 大於等於 | 
| == | 等於 | 
| === | 嚴格的等於 | 
| != | 不等於 | 
| !== | 嚴格的布等於 | 
2>1 //true
二者都是用於判斷兩個值是否相等
簡單來說就是==的工作量更大一些,因為如果比較的值的型別不同,他就會進行強制型別轉換。也可以稱作比較寬鬆的比較。